package top.lixunda.common.permission.entity;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import top.lixunda.common.permission.filter.XumPermissionFilter;

import java.util.List;

/**
 * 一个缓存类，缓存一个Method权限相关的所有信息
 *
 * @author Xumda
 * @version time:2020/1/8 17:08
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class MethodPermissionCache {

    /**
     * 静态方法创建实例对象
     *
     * @return MethodPermissionCache 实例对象
     */
    public static MethodPermissionCache getInstance() {
        return new MethodPermissionCache();
    }

    /**
     * 权限名称
     */
    private String permission;

    /**
     * 验证不通过时返回的 httpCode
     */
    private String httpCode;

    /**
     * 验证不通过时返回的 messageCode
     */
    private Integer messageCode;

    /**
     * 验证不通过时返回的 message
     */
    private String message;

    /**
     * 权限验证器列表
     */
    private List<XumPermissionFilter> permissionFilterList;

}
